<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

namespace utiles;

/**
 * Description of Excel
 *
 * @author Jorge
 */
class Excel {
    private $nombreArchivo;
    private $datos;
    protected $campos;
    //put your code here
    public function getNombreArchivo() {
        return $this->nombreArchivo;
    }

    public function getDatos() {
        return $this->datos;
    }

    public function getCampos() {
        return $this->campos;
    }

    public function setNombreArchivo($nombreArchivo) {
        $this->nombreArchivo = $nombreArchivo;
    }

    public function setDatos($datos) {
        $this->datos = $datos;
    }

    public function setCampos($campos) {
        $this->campos = $campos;
    }
    
    public function getCabecera(){
        foreach ($this->datos as $dato){
            foreach (array_keys($dato) as $k){
                if(!is_numeric($k)){
                    $this->campos[] = $k;
                }
            }
            break;
        }
        $cabecera = "";
        foreach($this->campos as $columna){
            $cabecera .= "<th>" . $columna . "</th>";    
        }

        return $cabecera; 
    }
    
    public function getContenido(){
        $contenido = "";
        foreach($this->datos as $dato){
            $contenido .= "<tr>";
            foreach ($this->campos as $campo){
                $contenido .= "<td>" . $dato[$campo] . "</td>";    
            }            
            $contenido .= "</tr>";
        }
        
        return $contenido; 
    }
    
    public function getExcel(){
        header("Content-type: application/vnd.ms-excel");  
        header("Content-Disposition: attachment; filename=" . $this->nombreArchivo . ".xls");  

        $excel = "";
        $excel .= "<table>";
        $excel .= "<thead>";
        $excel .= "<tr>";
        $excel .= $this->getCabecera();
        $excel .= "<tr>";
        $excel .= "<thead>";
        $excel .= "<tbody>";
        $excel .= $this->getContenido();
        $excel .= "</tbody>";
        $excel .= "</table>";
        echo $excel;
    }


}
